package com.th.therp.service;

import com.th.therp.pojo.dto.page.InventoryPageQueryDTO;
import com.th.therp.pojo.emtity.Inventory;
import com.th.therp.pojo.result.PageResult;
import com.th.therp.pojo.vo.MaterialOptionsVo;

import java.util.List;

public interface InventoryService {
    PageResult page(InventoryPageQueryDTO inventoryPageQueryDTO);

    void add(Inventory inventory);

    //根据仓库id和商品条码查找商品数量
    Integer findQuantityByStoreIdAndBarcode(Integer storeId, String materialBarcode);

    //根据仓库id和商品条码修改商品数量
    void updateQuantityByStoreIdAndBarcode(Inventory inventory);

    //根据仓库Id返回商品选择列表
    List<MaterialOptionsVo> findMaterialOptionsByStoreId(Integer storeId);

    //根据仓库id和商品条码删除库存记录
    void deleteByStoreIdAndBarcode(Inventory inventory);

    //根据商品条码查找商品数量
    Integer findQuantityByBarcode(String barcode);

    //根据仓库ID查找商品数量
    Integer findQuantityByStoreId(Integer storeId);

    //根据仓库ID和商品代码修改库存数量
    void updateByStoreIdAndBarcode(Integer storeId, String materialBarcode, Integer quantity);
}
